﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Seas.Core;

namespace TimeTabling.Core
{
    public class Center : Basic
    {

        private IList<Classroom> classroom = null;

        private IList<Schedule> schedule = null;

        private IList<User> user = null;

        private IList<Resource> resource = null;

        private IList<ResourceType> resourceType = null;

        private IList<Branch> branch = null;

        private IList<Teacher> teacher = null;
        
        
        /// <summary>
        /// Nombre de centro
        /// </summary>
        public string CIF { get; set; }
       
        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        public string Name { get; set; }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        public string Address { get; set; }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        public string City { get; set; }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        public string Phone { get; set; }


         
        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        public string Email { get; set; }
        
        
        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<Classroom> Classrooms
        {
            get
            {
                if (classroom == null)
                {
                    classroom = new List<Classroom>();
                }
                return classroom;
            }
            set
            {
                classroom = value;
            }
        }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<Schedule> Schedule
        {
            get
            {
                if (schedule == null)
                {
                    schedule = new List<Schedule>();
                }
                return schedule;
            }
            set
            {
                schedule = value;
            }
        }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<User> User
        {
            get
            {
                if (user == null)
                {
                    user = new List<User>();
                }
                return user;
            }
            set
            {
                user = value;
            }
        }

        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<ResourceType> ResourceType
        {
            get
            {
                if (resourceType == null)
                {
                    resourceType = new List<ResourceType>();
                }
                return resourceType;
            }
            set
            {
                resourceType = value;
            }
        }



        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<Resource> Resource
        {
            get
            {
                if (resource == null)
                {
                    resource = new List<Resource>();
                }
                return resource;
            }
            set
            {
                resource = value;
            }
        }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<Branch> Branch
        {
            get
            {
                if (branch == null)
                {
                    branch = new List<Branch>();
                }
                return branch;
            }
            set
            {
                branch = value;
            }
        }


        /// <summary>
        /// Lista de aulas del centro (coleccion)
        /// </summary>
        /// 
        public IList<Teacher> Teacher
        {
            get
            {
                if (teacher == null)
                {
                    teacher = new List<Teacher>();
                }
                return teacher;
            }
            set
            {
                teacher = value;
            }
        }
    }
}